/**
 * 
 */
package com.zhiteng.entity;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

import com.fasterxml.jackson.annotation.JsonInclude;

/**  
* <p>Title: CourseTable.java</p>  
* <p>Description: 课程表实体</p>  
* @author dragon  
* @date 2018年11月8日  
* @version 1.0  
*/
@Table(name="tb_course_table")
//@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class CourseTable<T> implements Serializable{
	@Id
	private String id; //ID
	private Integer type;	//	课程表类型。1：班级表       2：教师表     3：总课表 	 4：总任课表
	private String school_id; //	学校ID
	private String school_name;	//	学校名称
	@Column(name="teacher_id")
	private String teacherId;	//	教师id
	private String teacher_name;	//	教师名称（只有教师表中该字段有值）
	private String grade_name;	//	任课班级的年级名称
	private String class_name;	//	任课班级名称
	private String year_name;	//	学年名称
	private String term_name;	//	学期名称
	
	private Integer total_node;	//	每天上课的节数
	private Integer total_day;	//	每周上课的天数
	
	private Integer rownum; //	表格行数
	private Integer colnum;	//	表格列数
	
	private String node_ids; //	包含的所有子节点的id（总任课表为班级表的id，总任课表为教师表的id，教师表、班级表为单元格id）
	@Transient //	不与数据库表字段对应的实体类字段
	private List<T> nodeList = new ArrayList<>();	//	总课表、总任课表T为CourseTable,班级课表、教师表则T为courseNode
	
	public String getTeacherId() {
		return teacherId;
	}
	public void setTeacherId(String teacherId) {
		this.teacherId = teacherId;
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public Integer getType() {
		return type;
	}
	public void setType(Integer type) {
		this.type = type;
	}
	
	public String getSchool_id() {
		return school_id;
	}
	public void setSchool_id(String school_id) {
		this.school_id = school_id;
	}
	public String getSchool_name() {
		return school_name;
	}
	public void setSchool_name(String school_name) {
		this.school_name = school_name;
	}
	public String getGrade_name() {
		return grade_name;
	}
	public void setGrade_name(String grade_name) {
		this.grade_name = grade_name;
	}
	public String getClass_name() {
		return class_name;
	}
	public void setClass_name(String class_name) {
		this.class_name = class_name;
	}
	public String getYear_name() {
		return year_name;
	}
	public void setYear_name(String year_name) {
		this.year_name = year_name;
	}
	public String getTerm_name() {
		return term_name;
	}
	public void setTerm_name(String term_name) {
		this.term_name = term_name;
	}
	public Integer getTotal_node() {
		return total_node;
	}
	public void setTotal_node(Integer total_node) {
		this.total_node = total_node;
	}
	public Integer getTotal_day() {
		return total_day;
	}
	public void setTotal_day(Integer total_day) {
		this.total_day = total_day;
	}
	public Integer getRownum() {
		return rownum;
	}
	public void setRownum(Integer rownum) {
		this.rownum = rownum;
	}
	public Integer getColnum() {
		return colnum;
	}
	public void setColnum(Integer colnum) {
		this.colnum = colnum;
	}
	public String getNode_ids() {
		return node_ids;
	}
	public void setNode_ids(String node_ids) {
		this.node_ids = node_ids;
	}
	public List<T> getNodeList() {
		return nodeList;
	}
	public void setNodeList(List<T> nodeList) {
		this.nodeList = nodeList;
	}
	public String getTeacher_name() {
		return teacher_name;
	}
	public void setTeacher_name(String teacher_name) {
		this.teacher_name = teacher_name;
	}
	
	
}
